CloudFrontのログをAWS WAF + FirehoseでS3に送信しようとしてハマった話
表題の件について実案件でプチハマりをしたので、備忘録として残していきます。
やろうとしていた事
CloudFrontにWAFをくっつけてKinesis Firehose経由でS3にログを吐く、という事をやろうとしていました。
ハマった時
詳細な作業は以下エントリに準拠して行ったため、詳細な手順は割愛します。
まずFirehoseを作成します。
ネタバレを記載しておくと、「東京」リージョンでFirehoseを作成したのがプチハマりの原因です。
リソースがCloudFrontに設定されているweb ACLを選択して、
ログ設定画面に飛んでみると、
"No Kinesis Firehose found"と出ています。
「あれ?さっき作ったよな...??」とか思いつつ何度Refreshしても出てきません。何故。。。
調べた
AWSドキュメントにさらっと記載がありました。「CloudFrontのログ取りたいならバージニア北部でfirehose作ってね」とのこと。
Amazon CloudFront でログをキャプチャしている場合には、米国東部(バージニア北部) で firehose を作成します。
やってみる
リージョンをバージニア北部に変えて、Firehoseを作り直しました。
この状態で先ほどと同様にログの設定画面に飛ぶと、今度は作成したFirehoseが選択出来るようになりました!
まとめ
一回ハマらないと気付かないような仕様だったのでこの機会に学べて良かったと思います。
この記事が誰かのお役に立てば幸いです。
以上、AWS事業本部の大前でした!